@信仰
2年前 提问
1个回答

常用安全需求分析方法有什么

上官雨宝
2年前

常用安全需求分析方法有:

  • 滥用案例:UML、用例等建模和设计工具可以帮助软件开发人员规范地描述和设计软件的行为。但使用这些建模和设计工具的前提是:软件用户的所有行为都是正确的。这意味着开发人员是基于系统不会被有意滥用的假设来理解系统的完全功能的。那么,当系统被有意滥用时,它会如何表现呢?结果是未知的。开发安全、可靠的软件,除了标准化的特性和功能之外,软件安全专业人员还需要顾及其他因素,并仔细考虑意外或反常的行为,这样才能更好地理解如何创建安全、可靠的软件。滥用案例可以帮助开发者把软件置于攻击者的状态,考虑到超越正常思维和意料之外的事件,从而减少攻击者可攻击的漏洞。滥用案例的典型方法有误用用例和滥用用例。

  • 滥用框架:滥用框架方法是一种面向问题域的分析方法。该方法从攻击者的角度考虑系统面临的问题,采用已有的问题框架方法来支持工具分析和获取安全需求,适合于针对问题领域进行分析,获取安全需求,其目的是在系统发生违反安全行为的条件下,使系统呈现安全威胁并分析系统。该方法中定义了“攻击者领域”,用来表示攻击者;定义了“受害者领域”表示系统遭受威胁的资产;引入了“反需求”,表示攻击者对系统的需求,这样的需求违背了系统正常、合法的需求。该方法与问题框架法的本质区别是:它先获取反需求,然后再制定相应的安全需求;而问题框架方法在分析安全需求时与分析系统的其他需求一样,直接进行问题领域和机器领域的现象分析,然后得到需求,因此问题框架分析方法较少能获取“反需求”。

  • 反模型:反模型方法是由Axel van Lamsweerde等人提出的,面向目标的需求工程是一种在需求工程领域引起特别关注的方法。反模型是对面向目标需求工程的扩展,旨在建模、指定、分析软件的安全性需求。这种方法基于两种模型:system-to-be模型和反模型。system-to-be模型覆盖软件及其环境、相互关联的目标、代理、操作、需求和假设;反模型是通过对system-to-be模型研究探索系统元素如何、为什么、被谁恶意威胁而获得的。

  • 横切威胁:横切威胁是基于面向方向思想获取安全需求。面向方向的软件开发是使横切关注点更好地分离的一种技术。在面向方向的编程中,对于“横切”给出这样的定义:如果被构建的两个属性必须以不同的方式构造,但是属性之间又需要被协同,那么这两个属性彼此横切。把问题分解为更小的部分,将关注点分离出来。通过对关注点的分离,有助于从不同角度对软件系统进行理解、维护和扩展。基于面向方向的思想获取安全需求,是将软件系统中可能存在威胁的地方当作“连接点”,将同一个威胁下的所有连接点组织成“横切点”,能够解决威胁的安全需求作为“通知”,将“通知”和“横切点”组织成“方面”。目前面向方向的安全需求获取思想的典型方法是Charles B. Haley等人提出的从横切威胁描述中获取安全需求的方法。

  • 安全质量需求工程:SQUARE模型的特性是在软件开发周期的早期植入安全概念。当系统实现后可以用这个模型分析系统的安全性,并且对系统将来的修改和更新有重要作用。